თავი 6. მონაცემების დამატება, განახლება,წაშლა, ასლის აღება
მონაცემების დამატება
ცხრილში მონაცემების (სტრიქონის) დამატება ხორციელდება ბრძანებით INSERT INTO. შესაძლებელია:
- სტრიქონის დამატება მასში არსებული ყველა ველებით;
- სტრიქონის ველების ნაწილის დამატება;
- შეკითხვის შედეგის დამატება.
ყველა შემთხვევაში ბრძანებით INSERT INTO ცხრილს დაემატება ერთი სტრიქონი.
სტრიქონში არსებული ყველა ველის დამატება
ცხრილში სტრიქონში არსებული ყველა ველის დასამატებლად საჭიროა INSERT INTO-ს შემდეგ დაიწეროს ცხრილის სახელი, შემდეგ ფრჩხილებში დაიწეროს ველების სახელების ჩამონათვალი, სიტყვა Values და შემდეგ ფრჩხილებში თანმიმდევრობით - ველების მნიშვნელობები. Values შემდეგ დაწერილი მნიშნელობები უნდა შეესაბამებოდნენ ველებს. ველების თანმიმდევრობის დაწერას მნიშვნელობა არ აქვს. მთავარია მათი სახელები ცხრილის სვეტების სახელების იდენტურნი იყვნენ.
INSERT INTO tbstudenti(nomeri,gvari,tariri, adgili) Values('14', 'lomaia ia', '02.03.1984', 'quTaisi')
პროგრამაში ეს ინსტრუქცია გამოიძახება მეთოდის DoCmd საშუალებით მაკროსის RunSQL გამოყენებით.
DoCmd.RunSQL "Insert Into tbstudenti(nomeri,gvari,tariri, adgili) Values('14', 'lomaia ia', '02.03.1984', 'quTaisi')"
მიაქციეთ ყურადღება:
- ინსტრუქცია ჩაწერილია ბრჭყალებში;
- Values-ში ველების მნიშვნელობები ჩაწერილია აპოსტროფებში ” ’ ”
სტრიქონში არსებული ველების ნაწილი დამატება
ცხრილში სტრიქონში არსებული ველების ნაწილის დამატების სინტაქსი ყველა ველის დამატების სინტაქსის იდენტურია იმ გასხვავებით, რომ გამოტოვებულია ველების სახელები. გამოტოვებული ველების მნიშვნელობად სისტემა ჩაწერს NUll-ს. თუ ამ ველებისთვის გათვალისწინებულია NUll-სგან განსხვავებული მნიშვნელობა, მაშინ დამატების ბრძანების მიცემის შემდეგ სისტემა გამოიტანს შეტყობინებას შეცდომის შესახებ.
INSERT INTO tbstudenti(nomeri,gvari, adgili) Values('13', 'lomaia ia', 'quTaisi')
პროგრამაში ეს ინსტრუქცია გამოიძახება მეთოდის DoCmd საშუალებით მაკროსის RunSQL გამოყენებით.
DoCmd.RunSQL "Insert Into tbstudenti(nomeri,gvari, adgili) Values('14', 'lomaia ia', 'quTaisi')"
აქ ველების სახელების ჩამონათვალში გამოტოვებულია თარიღის ველი და შესაბამისად მისი მნიშვნელობა. ცხრილში დამატებულ სტრიქონში ველში ”თარიღი” არაფერი არ ჩაიწერება, ანუ ეს ველი შეიცავს NULL მნიშვნელობას.
ამორჩეული ჩანაწერების დამატება
დაუშვათ გვაქვს ორი იდენტური სტრუქტურის ცხრილი tbstudenti და tbstudentiasli. tbstudenti-ში ჩაწერილია ინფორმაცია პირველი კურსის სტუდენტების შესახებ, tbstudenti2-ში - კი მეორე კურსის სტუდენტების შესახებ. დავამატოთ მეორე კურსის სტუდენტების ცხრილს პირველი კურსის სტუდენტების მონაცემები.
Insert Into tbstudenti2(nomeri,gvari,tariri, adgili)
Select nomeri,gvari,tariri, adgili
FROM tbstudenti
პროგრამაში ეს ინსტრუქცია გამოიძახება მეთოდის DoCmd საშუალებით მაკროსის RunSQL გამოყენებით.
DoCmd.RunSQL "Insert Into tbstudenti2(nomeri,gvari,tariri, adgili) Select nomeri,gvari,tariri, adgili FROM tbstudenti"
tbstudenti2-ს დაემატება იმდენი სტრიქონი რამდენი სტრიქონიც არის tbstudenti-ში.
ყურადღება
- ამორჩევის ბრძანებაში SELECT INTO-ში შეიძლება გამოყენებულ იქნეს SELECT-ში გამოყენებული ყველა ოპერაცია, მათ შორის WHERE, GROUP BY;
- რამდენიმე ცხრილიდან მონაცემების დასამატებლად შეიძლება გამოყენებულ იქნეს ცხრილების გაერთიანება;
- მონაცემების დამატება შეიძლება მხოლოდ ერთ ცხრილში
ცხრილის შექმნა და არსებული ცხრილის ასლის დამატება
SELECT * INTO tbstudentiasli FROM tbstudenti
იქმნება ცხრილი სახელით tbstudentiasli და მასში იწერება ცხრილში tbstudenti არსებული ყველა ველის მნიშვნელობა (SELECT-ის შემდეგ დაწერილია ” * ” ). ახალი ცხრილი იქმნება SELECT-ის შემდეგ დაწერილი ველების მიხედვით.
პროგრამაში ეს ინსტრუქცია გამოიძახება მეთოდის DoCmd საშუალებით მაკროსის RunSQL გამოყენებით.
DoCmd.RunSQL "select * INTO tbstudentiasli FROM tbstudenti"